<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/cartas/parametros.php');
include_once($URL_OBJETO.'conexion.php');
include_once($URL_OBJETO.'oCartas.php');


class aCartas  {
	private $cadena;
	public function getCountCartas($usuRol,$nroCarta=NULL,$estCart=NULL,$respuesta=NULL,$tc=NULL,$item=NULL,$cfechaini='2006-01-01',$cfechafin='2020-01-01',$cRegini='2006-01-01',$cRegfin='2020-01-01'){
		$connect = new MySQL();
                $cadena='';
                
		if( !$connect -> Conectar() ){
		    exit( $connect -> VerError() );		
			}
		else{		   	
			$mi_array = array($nroCarta,$item,$respuesta,$tc);
			$mi_array2 = array('C.codCarta','C.codContrato','C.reqRespuesta','C.codTipoCarta');	
			for($a=0;$a<sizeof($mi_array);$a++){
				$where = " where ";
				if (trim($mi_array[$a])!=''){
				//echo $mi_array2[$a].'<br>';
					if($mi_array2[$a]!='C.codContrato'){
						$and= " and " ;
						$cadena = str_replace('&nbsp;','',$mi_array2[$a]).' like "%'.str_replace('&nbsp;','',$mi_array[$a]).'%"'.$and.$cadena;
					}						
					else{
						//$item=2;
						$item=$mi_array[$a];
						
						if ($item!=000){
							if ($item==1){
								
								$cadena2=" and ($mi_array2[$a]=100 or $mi_array2[$a]=101 or $mi_array2[$a]=110 or $mi_array2[$a]=111) ";
								}
							if ($item==2){
								$cadena2=$cadena2=" and ($mi_array2[$a] = 110 or $mi_array2[$a] = 11 or $mi_array2[$a] = 010 or $mi_array2[$a]=111) ";
								}
							if ($item==3){
								$cadena2=" and ($mi_array2[$a]=1 or $mi_array2[$a]=11 or $mi_array2[$a]=101 or $mi_array2[$a]=111) ";
								}
							//$cadena2=" and $mi_array2[$a]=$item ";
						}	
					}
				}
			}
			$cadena3=" and (DATE(c.fecCarta) BETWEEN '".$cfechaini."' AND '".$cfechafin."') ";
			$cadena4=" and (DATE(c.fechaRegistro) BETWEEN '".$cRegini."' AND '".$cRegfin."') ";
			switch($usuRol){
				case 1:
					 $query = "SELECT C.codCarta,C.codContrato,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro FROM carta C,tipo_carta TC $where $cadena   C.codTipoCarta=TC.codCarta and C.estado in($estCart) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc"; break;
				case 2:	 				
					 $query = "SELECT C.codCarta,C.codContrato,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta) and C.estado in($estCart) and C.codContrato in ($item) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc "; break;		
				case 3:
					 $query = "SELECT C.codCarta,C.codContrato,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta) and C.estado in($estCart) and C.codContrato in ($item) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc "; break;
				case 4:
					 $query = "SELECT C.codCarta,C.codContrato,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta) and C.estado in($estCart) and C.codContrato in ($item) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc "; break;					 					 		
			}	
			//echo $query.'<br>';				 				
			$result = mysql_num_rows(@mysql_query($query));
		  	return $result;	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();	
		}	
	 } 


	public function getCartasLimit($usuRol,$nroCarta=NULL,$estCart=NULL,$respuesta=NULL,$tc=NULL,$item=NULL,$limit,$limit2,$cfechaini='2006-01-01',$cfechafin='2020-01-01',$cRegini='2006-01-01',$cRegfin='2020-01-01'){
                $cadena='';
                $cadena2='';
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
		    exit( $connect -> VerError() );		
			}
		else{	   
			$mi_array = array($nroCarta,$item,$respuesta,$tc);
			$mi_array2 = array('C.codCarta','C.codContrato','C.reqRespuesta','C.codTipoCarta');	
			for($a=0;$a<sizeof($mi_array);$a++){
				$where = " where ";
				if (trim($mi_array[$a])!=''){
				//echo $mi_array2[$a].'<br>';
					if($mi_array2[$a]!='C.codContrato'){
						$and= " and " ;
						$cadena = str_replace('&nbsp;','',$mi_array2[$a]).' like "%'.str_replace('&nbsp;','',$mi_array[$a]).'%"'.$and.$cadena;
					}						
					else{
						//$item=2;
						$item=$mi_array[$a];
						if ($item!=000){
							if ($item==1){
								$cadena2=" and ($mi_array2[$a]=100 or $mi_array2[$a]=101 or $mi_array2[$a]=110 or $mi_array2[$a]=111) ";
								}
							if ($item==2){
								$cadena2=$cadena2=" and ($mi_array2[$a] = 110 or $mi_array2[$a] = 11 or $mi_array2[$a] = 010 or $mi_array2[$a]=111) ";
								}
							if ($item==3){
								$cadena2=" and ($mi_array2[$a]=1 or $mi_array2[$a]=11 or $mi_array2[$a]=101 or $mi_array2[$a]=111) ";
								
								}
							//$cadena2=" and $mi_array2[$a]=$item ";
						}	
					}
				}
			}	
			//$cfechaini='2009-01-01';
			$cadena3=" and (DATE(c.fecCarta) BETWEEN '".$cfechaini."' AND '".$cfechafin."') ";
			$cadena4=" and (DATE(c.fechaRegistro) BETWEEN '".$cRegini."' AND '".$cRegfin."') ";
							
			$Lista=array();			
			switch($usuRol){
			/*
			1, 'Administrador'
			2, 'Encargado de Item'
			3, 'Lector'
			4, 'Escritor'
			*/
				case 1://ya esta
					 $sql = "SELECT C.codCarta,C.codContrato,C.codTipoCarta,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro,C.idCarta,C.estadorespuesta FROM carta C,tipo_carta TC $where $cadena   C.codTipoCarta=TC.codCarta and C.estado in($estCart) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc limit $limit,$limit2 "; break;
				case 2:	 				
					 $sql = "SELECT C.codCarta,C.codContrato,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro,C.idCarta,C.estadorespuesta FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta) and C.estado in($estCart) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc limit $limit,$limit2"; break;		
				case 3://ya esta
					 $sql = "SELECT C.codCarta,C.codContrato,C.codTipoCarta,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro,C.idCarta,C.estadorespuesta FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta)  and C.estado in($estCart) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc limit $limit,$limit2 "; break;
				case 4:
					 $sql = "SELECT C.codCarta,C.codContrato,C.codTipoCarta,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,								C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion,C.fechaRegistro,C.idCarta,C.estadorespuesta FROM carta C,tipo_carta TC $where $cadena and (C.codTipoCarta=TC.codCarta) and C.estado in($estCart) $cadena4 $cadena3 $cadena2 order by C.fecRecepcion desc limit $limit,$limit2"; break;				 					 		
			}
			//echo $sql.'XD';
			$sql=@mysql_query($sql);
			  while($row = mysql_fetch_array($sql)){
	       		  $Carta= new oCartas();						  					  						  						  				  				  $Carta  ->setCodCarta($row['codCarta']);					  						  						  
				  $Carta  ->setcodContrato($row['codContrato']);				   			   				  				 
				  $Carta  ->setcodTipoCarta($row['codTipoCarta']);	
				  $Carta  ->setdesTipoCarta($row['descripcion']);					  				  
				  $Carta  ->setreqRespuesta($row['reqRespuesta']);					  						  						  
				  $Carta  ->setobservaciones($row['Observaciones']);				   			   				  				 
				  $Carta  ->setfecCarta($row['fecCarta']);				  			   			   				  												
				  $Carta  ->setfecRecepcion($row['fecRecepcion']);				  			   			   				  												
				  $Carta  ->setestado($row['estado']);				  			   			   				  												
				  $Carta  ->setcartaRelacionada($row['cartaRelacionada']);				  			   			   				  																				  				  $Carta  ->settransaccion($row['transaccion']);	
				  $Carta  ->setfechaRegistro($row['fechaRegistro']);
  				  $Carta  ->setidCarta($row['idCarta']);					 
				  $Carta  ->setestadoRespuesta($row['estadorespuesta']);					 				   			  			 								   				  				  array_push($Lista,$Carta );			  	  				 
				 } 
			    return $Lista;	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();				
		}	
	}	
		 
	public function getExisteCarta($nroCarta){
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
		    exit( $connect -> VerError() );		
			}
		else{
			$sql="SELECT count(*) as cantidad FROM carta C where C.codCarta='".$nroCarta."'";
			//echo $sql;
			$sql=@mysql_query($sql);	
			  $row = mysql_fetch_assoc($sql);
			  return $row['cantidad'];
			}
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();	
		}
		
		
	public function insertCarta($nroCarta,$contrato,$observaciones,$estCarta,$respuesta,$tc,$fecCarta,$fecRecepcion,$cartaRelacionada,$estadoCarta){
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
			exit( $connect -> VerError() );		
			}
		else{			
			 $hr=",' ',substr(current_timestamp(),12)"; 	
			 $fechRec="concat('".cambiaf_a_mysql($fecRecepcion)."'".$hr.")";		   
			 $query = "insert into carta (codCarta,codContrato,Observaciones,estado,reqRespuesta,codTipoCarta,fecCarta,fecRecepcion,cartaRelacionada,estadorespuesta)values('".strtoupper($nroCarta)."','".$contrato."','".$observaciones."',$estCarta,$respuesta,$tc,'".cambiaf_a_mysql($fecCarta)."','".cambiaf_a_mysql($fecRecepcion)."','".$cartaRelacionada."',$estadoCarta)";
			//echo $query;		
			 $resutl=@mysql_query($query);
			 if($resutl){
				return 1;
			}
			else{
				return 0;
			}	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();	
		}	
	}

	public function updateCarta($idCarta,$nroCarta,$contrato,$observaciones,$estCarta,$respuesta,$tc,$fecCarta,$fecRecepcion,$cartaRelacionada,$estadoRespuesta){
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
			exit( $connect -> VerError() );		
			}
		else{			
			 $query = "update carta set codTipoCarta=$tc,reqRespuesta=$respuesta,Observaciones='".$observaciones."',fecCarta='".cambiaf_a_mysql($fecCarta)."',estado=$estCarta,cartaRelacionada='".$cartaRelacionada."', estadorespuesta=$estadoRespuesta, codContrato='".$contrato ."',fecRecepcion='".cambiaf_a_mysql($fecRecepcion)."' where codCarta='".strtoupper($nroCarta)."' and idcarta=$idCarta ";			 
			//echo $query;		
			 $resutl=@mysql_query($query);
			 if($resutl){
				return 1;
			}
			else{
				return 0;
			}	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();	
		}	
	}

	public function deleteCarta($idCarta){
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
			exit( $connect -> VerError() );		
			}
		else{			
			 $query = "delete from carta where idcarta=$idCarta ";			 
			//echo $query;		
			 $resutl=@mysql_query($query);
			 if($resutl){
				return 1;
			}
			else{
				return 0;
			}	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();	
		}	
	}

public function getCartasAutoComp(){
		$connect = new MySQL();
		if( !$connect -> Conectar() ){
		    exit( $connect -> VerError() );		
			}
		else{	   
			 $sql = "SELECT C.codCarta,C.codContrato,TC.codCarta,TC.descripcion,C.reqRespuesta,C.Observaciones,C.fecCarta,
C.fecRecepcion,C.estado,C.cartaRelacionada,C.transaccion
fROM carta C,tipo_carta TC where (C.codTipoCarta=TC.codCarta)  order by C.fecRecepcion desc ";
			//echo $sql;
			$Lista=array();
			$sql=@mysql_query($sql);
			  while($row = mysql_fetch_array($sql)){
	       		  $Carta= new oCartas();			
				  $Carta  ->setCodCarta($row['codCarta']);					  						  						  
				  $Carta  ->setcodContrato($row['codContrato']);				   			   				  				 
				  $Carta  ->setcodTipoCarta($row['codCarta']);	
				  $Carta  ->setdesTipoCarta($row['descripcion']);					  				  
				  $Carta  ->setreqRespuesta($row['reqRespuesta']);					  						  						  
				  $Carta  ->setobservaciones($row['Observaciones']);				   			   				  				 
				  $Carta  ->setfecCarta($row['fecCarta']);				  			   			   				  												
				  $Carta  ->setfecRecepcion($row['fecRecepcion']);				  			   			   				  												
				  $Carta  ->setestado($row['estado']);				  			   			   				  												
				  $Carta  ->setcartaRelacionada($row['cartaRelacionada']);
				  $Carta  ->settransaccion($row['transaccion']);
				  array_push($Lista,$Carta );			  	  				 
				 } 
			    return $Lista;	
			$connect->LimpiarConsulta();
			$connect->CerrarConexion();				
		}	
	}	
		


		
}
?>